﻿<?php 
	
	include_once("ManipulacaoArquivo.class.php");
	
	class GerarModelo{
		
		public function __construct(){
			
			$manipulacao = new ManipulacaoArquivo();
			
			$nomeMinisculo = strtolower($_POST['nomeFuncionalidade']);
			$nome 		   = ucfirst($_POST['nomeFuncionalidade']);
			$caminho 	   = "../funcionalidades/".ucfirst($nome).".class.php";
			
			$camposPrivate = "";
			$campos 	   = "";
			$camposGet     = "";
			$camposUpdate  = "";
			
			for($i = 1; $i < count($_POST['atributo']); $i++){
				
				if($_POST['atributo'][$i] != ""){
					$camposPrivate .= 'private $'.$_POST['atributo'][$i].';
		';
					$campos 	   .= $_POST['atributo'][$i].', ';
					$camposGet     .= '\'".$this->get(\''.$_POST['atributo'][$i].'\')."\', ';
					$camposUpdate  .= $_POST['atributo'][$i].' = \'".$this->get(\''.$_POST['atributo'][$i].'\')."\', ';
				}
			}
			
			$camposUpdate = substr($camposUpdate, 0, -2);
			$campos       = substr($campos, 0, -2);
			$camposGet    = substr($camposGet, 0, -2);
			
			$texto = '<?php
	
	include_once("Consulta.class.php");
	
	class '.$nome.'{
	
		'.$camposPrivate.'
		public function set($nomeVar, $valor){
			
			$this->$nomeVar = $valor;	
		}
		
		public function get($nomeVar){
			
			return $this->$nomeVar;	
		}
		
		public function gravarDados(){
			
			$c = new Consulta("
				INSERT INTO 
					'.$nomeMinisculo.'('.$campos.') 
				VALUES(
					'.$camposGet.'
				)
			");
			
			if($c->executaConsulta()){
				
				return true;	
			
			}else{
				
				return false;	
			}
		}
		
		public function buscarDados($id){
			
			$c = new Consulta("SELECT * FROM '.$nomeMinisculo.' WHERE id'.$nome.' = \'".$id."\'");
			
			$retorno = $c->executaConsulta();
			
			if($retorno){
				
				return $retorno;	
			
			}else{
				
				return false;	
			}
		}
		
		public function alterarDados($id){
			
			$c = new Consulta("
				UPDATE '.$nomeMinisculo.'
				SET '.$camposUpdate.'
				WHERE id'.$nome.' = \'".$id."\'
			");
			
			if($c->executaConsulta()){
				
				return true;	
			
			}else{
				
				return false;	
			}	
		}
		
		public function excluirDados($id){
			
			$c = new Consulta("DELETE FROM '.$nomeMinisculo.' WHERE id'.$nome.' = \'".$id."\'");
			
			if($c->executaConsulta()){
				
				return true;	
			
			}else{
				
				return false;	
			}		
		}
	}
?>
			';
			
			$manipulacao->criarArquivo($caminho, $texto);
		}
	}
?>